import { defineConfig } from 'vite';
import { resolve } from 'path';
import vue from '@vitejs/plugin-vue';
// import cesium from 'vite-plugin-cesium';

import AutoImport from 'unplugin-auto-import/vite';

function pathResolve(dir) {
  return resolve(__dirname, '.', dir);
}

// https://vitejs.dev/config/
export default defineConfig({
  base: './',
  // base: "/enforcement/", //等同于  assetsPublicPath :'./'
  // plugins: [vue(),cesium()],
  plugins: [
    vue(),
    AutoImport({
      imports: [
        'vue', // 自动导入 vue 函数
        'vue-router', // 自动导入 vue-router 函数
        // {
        //   from: 'element-plus',
        //   imports: ['ElMessage', 'ElMessageBox']
        // } // 从 element-plus 组件库中自动导入的函数
      ],
      dirs: [], // 自动导入的全局文件
      eslintrc: {
        enabled: false, // 启用自动生成的 ESLint 配置
        // filepath: '.eslintrc-auto-import.json', // 自动生成的 ESLint 配置文件路径，可以手动设置存储位置，默认根目录下面。
        globalsPropValue: true, // 将自动导入的变量注册为全局
      }, // 保证自动导入的函数既不触发 ESLint 的 no-undef 报错，也拥有完善的类型提示。默认不配置的话不会生成类型声明文件。
    }),
  ],
  esbuild: {
    drop: [], // 删除 console 和 debugger
  },
  resolve: {
    alias: {
      '@': pathResolve('src'),
    },
  },
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'sass',
      patterns: [],
    },
  },
  // 强制预构建插件包
  optimizeDeps: {
    include: ['axios'],
  },
  // 打包配置
  build: {
    target: 'modules',
    outDir: 'dist', //指定输出路径
    assetsDir: 'static', // 指定生成静态资源的存放路径
  },
  // 本地运行配置，及反向代理配置
  server: {
    cors: true, // 默认启用并允许任何源
    open: true, // 在服务器启动时自动在浏览器中打开应用程序
    //反向代理配置，注意rewrite写法，开始没看文档在这里踩了坑
    proxy: {
      '/integrated-workbench/v1/': {
        // target: 'http://192.168.99.195:8085',
        target: 'http://20.13.0.125:8085',
        // target: 'http://192.168.1.135:8085',
        changeOrigin: true,
      },
      '/integrated-workbench/': {
        // target: 'http://192.168.99.195:8085',
        target: 'http://192.168.99.195:8085',
        // target: 'http://192.168.1.135:8085',
        changeOrigin: true,
      },
      '/enforcement/v1/': {
        // target: 'http://192.168.1.135:8091',
        // target: 'http://192.168.1.199:8090',
        // target: 'http://192.168.99.195:8085',
        target: 'http://20.13.0.125:8085',
        changeOrigin: true,
      },
      '/vmp-server/': {
        target: 'https://zxz.linghang.tech:18087',

        changeOrigin: true,
      },
      '/vmp-server-ar/': {
        target: 'https://zxz.linghang.tech:18818',

        changeOrigin: true,
      },
      // 地图的服务
      '/geoserver/': {
        // target: 'https://zxz.linghang.tech:18087',
        // target: 'http://localhost:24168',
        target: 'https://vp.bcdtech.cn:8181',
        // target: 'http://20.13.0.125:8100',
        changeOrigin: true,
      },
      // '/api/': {
      //   target: 'https://zxz.linghang.tech:18087/vmp-server/v1/', //代理接口
      //   changeOrigin: true,
      // },
      '^/hmap-server/': {
        target: 'http://10.195.157.183:1709',
        // target: 'http://127.0.0.1:1709',
        changeOrigin: true,
      },
      '^/hmappublish/': {
        target: 'https://hmap.hikvision.com.cn',
        changeOrigin: true,
      },
      '^/hmapadministrator/': {
        target: 'https://hmap.hikvision.com.cn',
        changeOrigin: true,
      },
    },
  },
});
